Skip to content

Add SingleOps.__round__ and optimizations in Builtin.round.#2074

Open
mickp wants to merge 1 commit into
IronLanguages:mainfrom
mickp:map/1977_Single___round__
Open

Add SingleOps.__round__ and optimizations in Builtin.round.#2074
mickp wants to merge 1 commit into
IronLanguages:mainfrom
mickp:map/1977_Single___round__

Conversation

@mickp

@mickp mickp commented Jul 15, 2026

Copy link
Copy Markdown

Testing

>>> import System
>>> v = 987.654321
>>> assert round(System.Double(v)) == round(System.Single(v))
>>> print(round(System.Double(v), 3), round(System.Single(v), 3))
987.654 987.654

Testing
===
```
>>> import System
>>> v = 987.654321
>>> assert round(System.Double(v)) == round(System.Single(v))
>>> print(round(System.Double(v), 3), round(System.Single(v), 3))
987.654 987.654
```

(Attempted to add assertions in tests/suite/test_builtinfunc.py, but attempting to run fails with
```
RUNNING IRONPYTHON TESTS USING THESE FLAGS:
Traceback (most recent call last):
  File "run.py", line 330, in <module>
  File "run.py", line 295, in runTest
  File "run.py", line 241, in runTestSlow
  File "run.py", line 226, in run_one_command
AttributeError: 'module' object has no attribute 'popen3'
```
)

```
@mickp

mickp commented Jul 15, 2026

Copy link
Copy Markdown
Author

I attempted to add assertions in tests/suite/test_builtinfunc.py, but I can't get those tests to run: they fail with

RUNNING IRONPYTHON TESTS USING THESE FLAGS:
Traceback (most recent call last):
  File "run.py", line 330, in <module>
  File "run.py", line 295, in runTest
  File "run.py", line 241, in runTestSlow
  File "run.py", line 226, in run_one_command
AttributeError: 'module' object has no attribute 'popen3'

@slozier

slozier commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Thanks for the PR. I think it generally seems fine. I won't have time to properly review/test this for a couple weeks, but I'll get around to it as soon as I can.

Not sure why the test changes aren't working. I've been doing some structural changes recently so I may be to blame...

So I don't forget... I want to check are how it compares to "prior art" such as np.float32.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants